public class interrupted {
    public static void main(String[] args) throws InterruptedException {
        Thread t = new Thread(()->{
            while (!Thread.currentThread().isInterrupted()){ //设置标志位 意为false
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    //1.什么都不做线程继续运行
                    e.printStackTrace();
                    //2.线程立马终止
                    break;
                    //3.最后做一些收尾工作再结束线程
                    //工作内容
                    //break;
                }
                System.out.println("线程运行中");
            }
        });
        t.start();
        Thread.sleep(5000);
        System.out.println("让主线程终止");
        //将标志位反义并引发sleep的异常，用于中断线程
        //但sleep触发异常后，标志位又清零，所以在Thread中做一些操作用以正常中断线程
        t.interrupt();
    }
}
